package com.probox.common.entity.domain.customer;

import java.util.Date;
import java.io.Serializable;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import com.baomidou.mybatisplus.annotation.*;
import com.probox.common.core.annotation.Excel;

/**
 * 客户分群定义信息对象 customer_group_definition
 *
 * @author zsy
 * @date 2021-07-15
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("customer_group_definition")
@ApiModel(description = "客户分群定义特征信息")
public class CustomerGroupDefinition implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 人群定义id
     */
    //默认主键自增
    @TableId(value = "DEFINITION_UID", type = IdType.AUTO)
    private Long definitionUid;

    /**
     * 平台ID
     */
    @Excel(name = "平台ID")
    @ApiModelProperty(value = "平台ID")
    private Long platformId;


    /**
     * 定义名称
     */
    @Excel(name = "定义名称")
    @ApiModelProperty(value = "定义名称")
    private String definitionName;

    /**
     * 定义展示名称
     */
    @Excel(name = "定义展示名称")
    @ApiModelProperty(value = "定义展示名称")
    private String definitionShowname;


    /**
     * 定义特征描述
     */
    @Excel(name = "定义特征描述")
    @ApiModelProperty(value = "定义特征描述")
        private String definitionDesc;

//    /**
//     * 定义对应值
//     */
//    @Excel(name = "定义对应值")
//    @ApiModelProperty(value = "定义对应值")
//    private String definitionValue;



    /**
     * 定义对应值
     */
    @Excel(name = "定义特征单位")
    @ApiModelProperty(value = "定义特征单位")
    private String definitionUnit;


    /**
     * 定义对应值
     */
    @Excel(name = "定义特征类型")
    @ApiModelProperty(value = "定义特征类型")
    private String definitionType;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    /**
     * 修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "修改时间")
    private Date updateTime;

    /**
     * 创建人
     */
    @Excel(name = "创建人")
    @ApiModelProperty(value = "创建人")
    private Long createUser;

    /**
     * 修改人
     */
    @Excel(name = "修改人")
    @ApiModelProperty(value = "修改人")
    private Long updateUser;

    /**
     * 状态，1有限，0无效，-1删除
     */
    @Excel(name = "状态，1有限，0无效，-1删除")
    @ApiModelProperty(value = "状态，1有限，0无效，-1删除")
    private String dataStatus;

    /**
     * 创建人名称
     */
    @Excel(name = "创建人名称")
    @ApiModelProperty(value = "创建人名称")
    private String createName;

    /**
     * 修改人名称
     */
    @Excel(name = "修改人名称")
    @ApiModelProperty(value = "修改人名称")
    private String updateName;


    public CustomerGroupDefinition(Long platformId, String definitionName, String definitionShowname, String definitionDesc, String definitionUnit, String definitionType, Date createTime, Long createUser, String dataStatus, String createName) {
        this.platformId = platformId;
        this.definitionName = definitionName;
        this.definitionShowname = definitionShowname;
        this.definitionDesc = definitionDesc;
        this.definitionUnit = definitionUnit;
        this.definitionType = definitionType;
        this.createTime = createTime;
        this.createUser = createUser;
        this.dataStatus = dataStatus;
        this.createName = createName;
    }
}
